What’s the difference between const and readonly?
2612
15-Jun-2013
Durgesh Tripathi
20-Jul-2013Const:
1. Const can only be initialized at the time of declaration of the field.
2. Const values will evaluate at compile time only.
3. Const value can’t be changed these will be same at all the time.
4. This type of fields are required when one of the field values remains constant throughout the system.
Read-only:
1. The value will be initialized either declaration time or the constructor of the class allowing you to pass the value at run time.
2. Read only values will evaluate at runtime only.
public class Const_VS_Readonly
{
public const int CONST_VALUE = 2;
public readonly int RO_VALUE;
public Const_VS_Readonly()
{
RO_VALUE = 3;
}
}
Sumit Kesarwani
15-Jun-2013You can initialize readonly variables to some runtime values. Let’s say your program uses current date and time as one of the values that won’t change. This way you declare
public readonly string DateT = new DateTime().ToString().